var client = {};
var app = getApp();
var status = require("./status.js");

// 获取楼盘楼栋编号列表接口
client.getBuildingList = function (that) {
  my.request({
    url: app.globalData.url + "29dd5f18-f63b-4c6e-8416-5b96f3777f8c",
    method: "POST",
    headers: {
      "Access-Token": app.globalData.token
    },
    dataType: "json",
    // 调用成功的回调函数
    success: function (res) {
      if (res.data.succeed == 0) {
        // 因为res.data.data是 "data": [1,3]，不是对象数组，所以只能加这个循环，将其变成对象数组
        var buildingNos = new Array();
        for (var i = 0; i < res.data.data.length; i++) {
          var a = { buildingNo: res.data.data[i] };
          // 默认选中上次选中的那个
          if (i == that.data.buildingSelectId) {
            a.background = "rgba(38,128,235,1)";
            a.color = "rgba(255,255,255,1)";
          }
          buildingNos.push(a);
        }
        that.setData({
          buildingNos: buildingNos
        });
        // 默认选中上次选中的那个
        client.getUnitList(buildingNos[that.data.buildingSelectId].buildingNo, that);
      } else {
        app.errorHandling("获取选" + my.getStorageSync({ key: 'taskType' }).data + "大厅楼号列表失败：", res);
      }
    },
    // 调用失败的回调函数
    fail: function (res) {
      my.showToast({
        content: "网络错误：" + res.data.errorMsg,
        duration: 2000
      });
    },
    complete: function () { }
  });
};

// 根据楼栋获取单元列表接口
client.getUnitList = function (buildingNo, that) {
  my.request({
    url: app.globalData.url + "163d5195-fb33-482e-8ddc-2ed00892443c",
    method: "POST",
    data: {
      buildingNo: buildingNo
    },
    headers: {
      "Access-Token": app.globalData.token
    },
    dataType: "json",
    // 调用成功的回调函数
    success: function (res) {
      if (res.data.succeed == 0) {
        // 因为res.data.data是 "data": [1,3]，不是对象数组，所以只能加这个循环，将其变成对象数组
        var unitNos = new Array();
        for (var i = 0; i < res.data.data.length; i++) {
          var a = { unitNo: res.data.data[i] };
          // 默认选中上次选中的那个
          if (i == that.data.unitSelectId) {
            a.background = "rgba(38,128,235,1)";
            a.color = "rgba(255,255,255,1)";
          }
          unitNos.push(a);
        }
        that.setData({
          unitNos: unitNos
        });
        // 如果此楼号没有单元
        if (unitNos.length == 0) {
          client.getRoomList(buildingNo, "", that);
        } else {
          // 默认选中上次选中的那个
          client.getRoomList(buildingNo, unitNos[that.data.unitSelectId].unitNo, that);
        }
      } else {
        app.errorHandling("获取选" + my.getStorageSync({ key: 'taskType' }).data + "大厅单元列表失败：", res);
      }
    },
    // 调用失败的回调函数
    fail: function (res) {
      my.showToast({
        content: "网络错误：" + res.data.errorMsg,
        duration: 2000
      });
    },
    complete: function () { }
  });
};

// 获取选房大厅房间列表接口
client.getRoomList = function (buildingNo, unitNo, that) {
  my.request({
    url: app.globalData.url + "60a30b84-a0bb-4f5f-854f-d2337229e6cd",
    method: "POST",
    data: {
      buildingNo: buildingNo,
      unitNo: unitNo
    },
    headers: {
      "Access-Token": app.globalData.token
    },
    dataType: "json",
    // 调用成功的回调函数
    success: function (res) {
      // console.log("getRoomList  " + JSON.stringify(res));
      if (res.data.succeed == 0) {
        for (var i = 0; i < res.data.data.length; i++) {
          // 默认背景为白，字体为黑
          res.data.data[i].background = "rgba(255,255,255,1)";
          res.data.data[i].color = "#333333";
          // 他人锁定，背景置红
          if (res.data.data[i].status == 1) {
            res.data.data[i].background = "rgba(255,116,116,1)";
          } else if (res.data.data[i].status == 2) {
            // 已售，背景置灰
            res.data.data[i].background = "rgba(153,153,153,1)";
          } else if (res.data.data[i].status == 3) {
            // 本人锁定，背景置红，字体置蓝
            res.data.data[i].background = "rgba(255,116,116,1)";
            res.data.data[i].color = "#2680EB";
          } else if (res.data.data[i].status == 4) {
            // 本人认购，背景置灰，字体置蓝
            res.data.data[i].background = "rgba(153,153,153,1)";
            res.data.data[i].color = "#2680EB";
          } else if (res.data.data[i].isCollected) {
            res.data.data[i].background = "rgba(255,233,92,1)";
          }
        }
        that.setData({
          roomList: res.data.data,
          roomChange: Date.parse(new Date())
        });
        status.client.ifNeedWebsocket(that, res.data.data);
      } else {
        app.errorHandling("获取选" + my.getStorageSync({ key: 'taskType' }).data + "大厅" + my.getStorageSync({ key: 'taskType' }).data + "列表失败：", res);
      }
    },
    // 调用失败的回调函数
    fail: function (res) {
      my.showToast({
        content: "网络错误：" + res.data.errorMsg,
        duration: 2000
      });
    },
    complete: function () { }
  });
};

// 获取订单列表接口
client.getOrderList = function (that) {
  my.request({
    url: app.globalData.url + "7d39d1b9-ce05-45f0-aa35-b43211fe5e9c",
    method: "POST",
    headers: {
      "Access-Token": app.globalData.token
    },
    // 期望返回的数据格式，默认json，支持json，text，base64
    dataType: "json",
    // 调用成功的回调函数
    success: function (res) {
      if (res.data.succeed == 0) {
        for (var i = 0; i < res.data.data.list.length; i++) {
          // status	number	订单状态 0 待支付 1 支付成功 2 支付失败 3 超时关闭
          switch (res.data.data.list[i]["status"]) {
            case 0:
              res.data.data.list[i]["status"] = "待支付";
              break;
            case 1:
              res.data.data.list[i]["status"] = "支付成功";
              break;
            case 2:
              res.data.data.list[i]["status"] = "支付失败";
              break;
            case 3:
              res.data.data.list[i]["status"] = "超时关闭";
              break;
          }
          // orderType	number	1 线上支付 2 线下支付
          if (res.data.data.list[i]["orderType"] == 1) {
            res.data.data.list[i]["orderType"] = "线上支付";
          } else if (res.data.data.list[i]["orderType"] == 2) {
            res.data.data.list[i]["orderType"] = "线下支付";
          } else {
            // 如果支付金额为0，则为0订单，进入0订单页面
            if (res.data.data.list[i]["payAmount"] == 0) {
              res.data.data.list[i]["orderType"] = "无需支付";
            } else {
              // 其他情况为未指定支付方式 需要重新指定支付方式
              res.data.data.list[i]["orderType"] = "支付方式待确定";
            }
          }
        }
        if (res.data.data.list.length > 0) {
          that.setData({
            orderList: res.data.data.list,
            orderEmpty: true
          });
        }
      } else {
        app.errorHandling("获取订单列表失败：", res);
      }
    },
    // 调用失败的回调函数
    fail: function (res) {
      my.showToast({
        content: "网络错误：" + res.data.errorMsg,
        duration: 2000
      });
    },
    complete: function () { }
  });
};

module.exports = {
  client: client
};